#pragma once

class CSession;

struct Actions;
struct Action;

class CActionManager
{
public:
	CActionManager(void);
	~CActionManager(void);

private:
	CSession*	m_ownSession;
	Actions*	m_pActionSet;

	size_t m_curActionSetIdx;
    size_t m_ActionExeCount;
    size_t m_ActionSetExeCount;
    unsigned long m_nextExecutionTime;

public:
	bool Create( CSession* session, int id );
	void Start();
	void Update();

	void Pause();
	void Resume();

private:
	void AdvanceExecutionRule(Action* action);
};

